
//preloading.....
load("library/common.js");

JEuler.system.loadJS("library/math.js");

(function() {

    //JEuler.system.loadJS("data/???.dat");
    JEuler.system.printCaption("21");
    JEuler.system.startTimerCount();
    
    var hash=[];

    function findDivisors(a) {
        if(hash[a]) return hash[a];
        var s=[1];
        for(var i=2; i<=a/2; i++) {
            if(a%i==0) {
                s.push(i);
            }
        }
        hash[a] = eval(s.join("+"));
        return hash[a];
    }

    var s=[];
    for(var i=1; i<10000; i++) {
        var b = findDivisors(i);
        if(findDivisors(b) == i && b!=i) {
            JEuler.system.print("a=" + i + ", b=" + b);
            s.push(i);
        }
    }

    JEuler.system.print("SUM=" + eval(s.join("+")));
    JEuler.system.printTimerCount();
    
})();
